Creating customized programming content

ABSTRACT

A computer-implemented method of creating customized programming content for a user of a media content system includes accessing a user interest profile for the user, the user interest profile comprising a ranked list of a plurality of interest categories; locating at least one media segment corresponding to each of the interest categories of the user interest profile; calculating the correlation between the user interest profile and data describing each of the located media segment, and ranking the media segments based on the correlation; assembling the media segments into a customized media programming stream based on the ranking; and displaying the customized media programming stream to the user.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.15/465,027, filed Mar. 21, 2017, entitled Creating CustomizedProgramming Content, which is a continuation of U.S. patent applicationSer. No. 13/183,109, filed Jul. 14, 2011, entitled Creating LocalizedProgramming Content, now U.S. Pat. No. 9,602,884, which is acontinuation of U.S. patent application Ser. No. 11/437,293, filed May19, 2006, entitled Creating Localized Programming Content, nowabandoned, the entire disclosures of which are incorporated herein byreference.

This application is related to U.S. patent application Ser. No.11/437,088, filed May 19, 2006, entitled Method and System for CombiningBroadcast Signals and Communications Network Data; U.S. patentapplication Ser. No. 11/437,172, filed May 19, 2006, entitled CreatingPersonalized Content on a Digital Video Recorder; U.S. patentapplication Ser. No. 11/437,292, filed May 19, 2006, entitled CreatingPersonalized Programming Content; and U.S. patent application Ser. No.11/437,366, filed May 19, 2006, and entitled Targeted Advertising in aTime-Constrained Program Stream, the entire disclosures of which areincorporated herein by reference.

This application is also related to U.S. patent application Ser. No.11/621,286, filed Jan. 9, 2007, entitled System and Method forGenerating User Content Streams; U.S. patent application Ser. No.11/621,289, filed Jan. 9, 2007, entitled System and Method forGenerating User Content Streams; U.S. patent application Ser. No.11/621,305, filed Jan. 9, 2007, entitled System and Method forGenerating User Content Streams; and U.S. patent application Ser. No.11/621,310, filed Jan. 9, 2007, entitled System and Method forGenerating User Content Streams

BACKGROUND

Broadcast and cable television networks provide viewers with a widerange of programming. Despite this wide range of programming choice, aviewer of broadcast or cable television is often at the mercy of thenetwork programmers to determine the content that can be displayed atany one time.

Once it is decided, for example, that a particular sequence of showswill run at specific times and in a specific order, the editing andformatting choices of the programming are determined by the network.Often, once the display parameters of the programming have beendetermined, the programming is transmitted, and further choice regardingthe display parameters is limited.

BRIEF SUMMARY OF EMBODIMENTS OF THE INVENTION

According to one embodiment of the present invention, a viewer isprovided with the ability to choose from a plurality of programmingsources, including broadcast network television, cable networktelevision, and communications-network data streams, to createcustomized programming. The programming and data from these sources iscombined into a user-defined customized display, such that a programrelating to a broad geographic region, such as a news or weatherprogram, may be customized with information related to a smallergeographic area within the broad geographic region.

In one embodiment, the user is provided with the option of choosing oneor more network or cable channels for simultaneous display. Options forcustomizing the display regions are also provided. In one embodiment,the user is able to choose from a variety of different displays,including horizontal split screen, vertical split screen, L-shapeddisplay, or other customized, user-defined display regions. Theselection of a channel for the inclusion of audio is also provided.

In one embodiment, one or more data streams are selected from acommunications network for rendering on the display. The data streams tobe converted into a variety of display formats, including streaming orscrolling text, streaming video, or streaming audio, are rasterized fordisplay in one or more of the display regions selected by the user.

In another embodiment, a data stream including text, or text andnegligible graphical components, such as a news story or weather report,is converted into a video display comprising an audio component in whichthe text is converted into sound via speech-recognition software alongwith a video component, such as a graphically animated avatar in theform of a newscaster or weatherperson. Additionally, the graphicalcomponents from the data stream can be displayed in a separate displayregion.

In another embodiment, a localized news or weather program is created byselecting a network or cable television news or weather program alongwith a specialized data stream, such as local news, weather, or traffic,and combining these sources into a single display. For example, regionalor national weather may be selected for display in the primary displayarea of an L-shaped display while local weather and local trafficinformation are displayed in two supplemental regions. In this fashion,a view is provided with a broad-based weather program that is customizedto include local weather and local traffic conditions simultaneously.Additional customization can be developed for news and sports, such asnational or international business news supplemented by local businessnews and stock quotes, or national sports coverage customized bycoverage of the local team and fantasy sports updates. Accordingly,local news, weather, or traffic data from locations on a network thatare closely proximate to the user may be located. Such locationsinclude, but are not limited to, the user's local hard drive, a serverlocated in the same neighborhood, city, county, state, national region,or nation. Thus, the news, weather, and sports data collection, whetherlocal, regional, national, or international, is reduced to acomputer-network oriented solution.

In another embodiment, a computer-implemented method of creatingcustomized programming content for a user of a video content systemincludes accessing a user interest profile for the user, the userinterest profile comprising a ranked list of a plurality of interestcategories; locating at least one video segment corresponding to each ofthe interest categories of the user interest profile; calculating thecorrelation between the user interest profile and data describing eachof the located video segment, and ranking the video segments based onthe correlation; assembling the video segments into a customized videoprogramming stream based on the ranking; and displaying the customizedvideo programming stream to the user.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

The following detailed description will be better understood when readin conjunction with the appended drawings, in which there is shown oneor more of the multiple embodiments of the present invention. It shouldbe understood, however, that the various embodiments of the presentinvention are not limited to the precise arrangements andinstrumentalities shown in the drawings.

In the Drawings:

FIG. 1 illustrates the evolution of targeted services and the requiredbandwidth for those services in accordance with one embodiment of thepresent invention;

FIGS. 2A and 2B illustrate a two-dimensional browser based informationportal and a linear news broadcast, respectively, in accordance with oneembodiment of the present invention;

FIGS. 3A and 3B illustrate 3-dimensional and 2-dimensional views ofpersonalized news programs, respectively, in accordance with oneembodiment of the present invention;

FIG. 4 illustrates a system for satellite based delivery of nationalweather with local weather inserts in accordance with one embodiment ofthe present invention;

FIG. 5 illustrates a network based system for delivery of multiplexednational and regional information in accordance with one embodiment ofthe present invention;

FIG. 6 illustrates a generalized system for the creation of targetedmultiplexed content in accordance with one embodiment of the presentinvention;

FIG. 7 illustrates targeted content streams in accordance with oneembodiment of the present invention;

FIG. 8 illustrates video segments with splice points, optional segments,and separate and integrated descriptors in accordance with oneembodiment of the present invention;

FIGS. 9A and 9B illustrate the correlation between a subscriber contentprofile vector and a segment profile vector, and a representativesubscriber content profile vector, respectively;

FIG. 10 illustrates a ranked segment list and a ranked alternate list inaccordance with one embodiment of the present invention;

FIG. 11 is a use-case diagram of a targeted content multiplexing systemin accordance with one embodiment of the present invention;

FIG. 12 illustrates a system for assembly and distribution of targetedmultiplexed content to a plurality of receivers in accordance with oneembodiment of the present invention;

FIG. 13 is a use-case diagram for a personalized local content system inaccordance with one embodiment of the present invention;

FIG. 14A illustrates an example of a display of a newscast having motionvideo and overlay text and graphics related to stocks and travel relatedweather in accordance with one embodiment of the present invention;

FIG. 14B. illustrates an example of a display of a newscast having anoverlay of local weather and traffic in accordance with one embodimentof the present invention;

FIG. 14C illustrates an example of a display of a locally generatedanimated newscast having adjacent graphical/textual content inaccordance with one embodiment of the present invention;

FIG. 14D illustrates an example of a customized video display having alocal news broadcast, a local air quality forecast, a sports program, aone-hour drama, and a stock data crawl in accordance with one embodimentof the present invention;

FIG. 14E illustrates an example of a customized video display having alocal news broadcast, a local traffic data report, a sports program, atravel weather forecast, a stock ticker, a stock data crawl, a local airquality forecast, and a local weather forecast in accordance with oneembodiment of the present invention;

FIG. 15A illustrates an exemplary view of a general settings tab in apersonalized program manager Graphical User Interface (GUI) inaccordance with one embodiment of the present invention;

FIG. 15B illustrates an exemplary view of a news settings tab in apersonalized program manager GUI in accordance with one embodiment ofthe present invention;

FIG. 15C illustrates an exemplary view of a weather settings tab in apersonalized program manager GUI in accordance with one embodiment ofthe present invention;

FIG. 15D illustrates an exemplary view of a traffic settings tab in apersonalized program manager GUI in accordance with one embodiment ofthe present invention;

FIG. 15E illustrates an exemplary view of a sports settings tab in apersonalized program manager GUI in accordance with one embodiment ofthe present invention;

FIG. 16 illustrates an exemplary view for a personalized layout managerGUI in accordance with one embodiment of the present invention;

FIG. 17 is a class diagram for video segments in accordance with oneembodiment of the present invention;

FIG. 18 is a class diagram for user profiles in accordance with oneembodiment of the present invention;

FIG. 19 is a class diagram for a user program in accordance with oneembodiment of the present invention;

FIG. 20 is an association class diagram for a selection of videosegments based on a user profile for a user program in accordance withone embodiment of the present invention;

FIG. 21 is a class diagram for templates in accordance with oneembodiment of the present invention;

FIG. 22 is a class diagram for data in accordance with one embodiment ofthe present invention;

FIG. 23 is an association class diagram for generation of applicationready material from templates and data in accordance with one embodimentof the present invention;

FIG. 24 is a representative block diagram for a Digital Video Recorder(DVR) in accordance with one embodiment of the present invention;

FIG. 25 illustrates a representative architecture for satellite andnetwork based distribution of national and local data, respectively, inaccordance with one embodiment of the present invention;

FIG. 26 is a flowchart for generation of a multiplexed broadcast anddata signal in accordance with one embodiment of the present invention;

FIG. 27 is a flowchart for selecting and accessing broadcast and datasignals based on a client profile in accordance with one embodiment ofthe present invention;

FIG. 28 is a flowchart for the creation of combined broadcast and localdisplay data in accordance with one embodiment of the present invention;

FIG. 29 is a flowchart for the creation of ranked segment lists andalternate story lists in accordance with one embodiment of the presentinvention;

FIG. 30 is a flowchart for personalized program assembly in accordancewith one embodiment of the present invention; and

FIG. 31 is a flowchart for segment shortening in accordance with oneembodiment of the present invention.

DETAILED DESCRIPTION

Certain terminology is used herein for convenience only and is not to betaken as a limitation on the embodiments of the present invention. Inthe drawings, the same reference letters are employed for designatingthe same elements throughout the several figures.

The words “right”, “left”, “lower” and “upper” designate directions inthe drawings to which reference is made. The words “inwardly” and“outwardly” refer to directions toward and away from, respectively, thegeometric center of the various embodiments of the present invention anddesignated parts thereof. The terminology includes the words abovespecifically mentioned, derivatives thereof and words of similar import.

Unified Modeling Language (“UML”) can be used to model and/or describemethods and systems and provide the basis for better understanding theirfunctionality and internal operation as well as describing interfaceswith external components, systems and people using standardizednotation. When used herein, UML diagrams including, but not limited to,use case diagrams, class diagrams and activity diagrams, are meant toserve as an aid in describing the embodiments of the present invention,but do not constrain implementation thereof to any particular hardwareor software embodiments. Unless otherwise noted, the notation used withrespect to the UML diagrams contained herein is consistent with the UML2.0 specification or variants thereof and is understood by those skilledin the art.

FIG. 1 demonstrates the relationship between increasingly specificbroadcast programming and the bandwidth necessary to achieve suchprogramming. The y-axis 110 of the graph indicates bandwidth persubscriber, and the x-axis 100 indicates the degree of personalizationof various programming. As can be seen in FIG. 1, coarse geographicprogramming can be accomplished by simple satellite transmission andrequires only a relatively small amount of bandwidth per subscriber.Moving to the right along the x-axis 100, the next increase inpersonalization occurs. Regional specificity in programming can nolonger be accomplished by pure satellite transmission. Instead, itrequires additional bandwidth, such as that which can be supplied by amix of both cable and terrestrial broadcasts. Moving farther to theright on the x-axis 100 of FIG. 1, to achieve geographically localspecialization, yet more complex combinations of transmissions, andcorrespondingly greater bandwidth, are required. In addition to cableand terrestrial broadcasts, access to computer networks and localstorage capacity become necessary to supply highly localizedinformation. Finally, on the far right of the x-axis 100, individualizedprogramming is represented, along with the higher bandwidth, network,and storage needs associated with it.

FIGS. 2A and 2B provide a graphic illustration of the types of contentwhich can be used to create a customized program. In FIG. 2A, atwo-dimensional representation of media content is provided for acustomized multimedia program to be displayed on a television or monitoror to be used as an Internet browser-based information portal 200.Exemplary content includes, but is not limited to, text news 201, aweather box 203, a stocks box 205, and a traffic box 207. FIG. 2Bgraphically illustrates a linear news broadcast 220. Examples of such abroadcast include, but are not limited to, broadcast local news segment221, broadcast advertisements 223, broadcast world news segment 225,broadcast sports segment 227, broadcast feature segment 229, andbroadcast weather segment 231. Those skilled in the art will recognizethat additional content may be provided by either the browser portal 200or the linear news broadcast 220.

FIG. 3A is a time-based graphical representation of content provided ina customized programming stream. Without limitation, an L-shaped videodisplay 310 is presented over a generalized time period to form apersonalized news program 300. Constituent parts of an exemplarypersonalized news program 300 include an entertainment news subprogram301, a first set of full-screen advertisements 303, a business newssubprogram 305, a second set of full-screen advertisements 307, sportsdata 309, text/icon advertisements 311, a video news segment 313, atraffic data segment 315, a first weather segment 317, a second weathersegment 319, and a news/weather/traffic subprogram 321.

FIG. 3B presents similar information in a different form, namely, theaccumulation of customized video programming in a timed sequence. Invarious combinations, the customized video programming 340 may consistof a news subprogram 350, a weather subprogram 351, a traffic subprogram353, a sports subprogram 355, and a movies subprogram 357. Variouselapsed time measurements are provided for each segment in the exampleof FIG. 3B. Additionally, the video subprograms 350, 351, 353, 355 and357, may be combined with various other text, video, or informationsubprograms for simultaneous display in a variety of customized videodisplay formats. These text, video, or information subprograms mayinclude a local weather graphics window 365, a local traffic graphicswindow 367, and a local sports data crawl 369, among others.

FIG. 4 illustrates a system for providing customized and localizedweather broadcasts via a cable network head-end system. A centralizedweather prediction unit 400 transmits a satellite stream 403 tosatellite 420 via satellite uplink 401. The satellite stream 403preferably contains both a national weather stream 405 and a pluralityof localized weather content streams in the form of weather data packets407. Satellite 420 broadcasts satellite stream 403 to a plurality ofsatellite receivers 431 located at various cable head-ends 430 spreadacross one or more large geographical regions. At the cable head-end430, a demodulator/demultiplexer 433 decouples the weather data packets407 from the national weather stream 405 for selection and rending vialocal data selection module 435 and rendering engine 437, respectively.The rendering engine 437 produces a plurality of local programmingstreams 411, in which national weather content 405 is mixed with aspecific local weather forecast 415 and transmitted to the appropriatelocal geographic area selected from a multitude of geographic areas 441,443, 445, 447. Preferably, the programming streams 411 are transmittedto the respective geographic areas 441, 443, 445, 447 via fiber-opticconnection 440, but may be transmitted via other means generally knownin the art.

FIG. 5 illustrates a computer network system for transmitting customizedvideo programming content, again in the localized weather programmingcontext in accordance with the present method, apparatus, and system.Centralized weather predictor 400 provides weather data to localizationengine 500, which, in turn, creates a plurality of regionalized programstreams 511, 513, 515, 517 that are then fed into a computer network503, such as the Internet, and delivered to a plurality of cablehead-ends 521, 523, 525, 527. The head-ends 521, 523, 525, 527 thentransmit the regionalized program streams 511, 513, 515, 517 to specificgeographical areas 531, 533, 535, 537, 539, preferably via fiber-opticconnection 440. The computer network 503, moreover, is capable ofassuring that specific regionalized program streams are delivered to thecorresponding cable head-end that is geographically appropriate for thegiven stream. For example, regionalized program stream 511, whichcontains localized information for geographical area a 531 is sent tohead-end 521, which is responsible for servicing geographical area a531. It is also possible that one cable head-end, e.g., cable head-end w527, may service multiple geographic regions, e.g., geographical regionsω1 535, ω2 537, and ωn 539. In such a case, the computer network 503 iscapable of transmitting one or more regionalized program streams 517 tothe single head-end 527 to service multiple geographical areas 535, 537,539. A broad range of flexibility is thereby provided to the design ofsuch networks, and strict adherence to geographically determined networkarchitecture is not required.

FIG. 6 illustrates a network configuration in which targeted content,such as targeted advertisements, is mixed with customized programming.Advertisement content 603, news content 605, and weather/traffic content607 is provided to a computer network 503, such as the Internet, viaadvertisement supplier 602, news supplier 604, and weather/trafficsupplier 606, respectively. Additional content providers covering abroad range of content services can also be incorporated into thenetwork 503. The amalgamated data is then transmitted to a TargetedContent Multiplexer (TCM) 610, where it is received by a localizationengine 500. Demographic database 614 provides demographic data used toinsert targeted content, such as subscriber-tailored advertisements. Amultiplexer unit 612 creates a plurality of targeted multiplexed contentstreams 620 that are fed back into computer network 503. Computernetwork 503 delivers various targeted multiplexed content streams 630,632, 634 to a variety of locations, such as a cable head-end 430, aLocal Demographic Aggregation Server (L_DAS) 650, or a residence 640.From L_DAS 650, targeted multiplexed content streams can be provided toa variety of sources, including a cellular base station 652 for receiptby cellular-enabled equipment, a node 641, preferably via a fiber-opticconnection 440, and a residence 640. In one embodiment, once transmittedto the residence 640 (whether sent directly by the network 503 or viathe L_DAS 650), the targeted multiplexed content stream 632 can bereceived by a digital video recorder (DVR) 660 for processing, storage,and eventual display on a television 662. In another embodiment, aNetwork Termination Unit (NTU) 680, typically affixed to the externalportion of the residence, acts to demarcate the boundary between theexternal computer network 503 and the equipment within the residence640, which also may include a Residential Gateway (RG) 670, that acts asa centralized location for the connection of all network-enabledresidential electronic equipment, such as DVR 660, TV 662, a personalcomputer (not shown) or other device.

One skilled in the art would recognize that the DVR functionality can beplaced at various nodes in the network, in addition to being deployed aspart of the DVR, set-top box, or home computer. In one embodiment, theDVR functionality is placed at nodes intermediate the residence andhead-end. In an alternate embodiment, the DVR functionality is deployedin the server providing the video, or other head-end device.

FIG. 7 illustrates the structure of a targeted content stream (TCS) 700having various fields of metadata, preferably using the MPEG-7 standardfor video transmission. One embodiment of the targeted multiplexedprogram stream 700 contains a targeted content descriptor (TCD) 701, anadvertisement segment 702, an advertisement segment descriptor 703, aweather segment 704, a weather segment descriptor 705, various newssegments 706, and various news segment descriptors 707. An integratedtargeted content segment is also illustrated in which the variousdescriptors 703, 705, 707 are integrated into a single integrated stream(TCS/D) 710 along with the various corresponding video segments 702,704, 706.

The metadata associated with the video segments of FIG. 7 can be basedon the MPEG-7 standard, which can be used to describe the content interms of production description tools (e.g. title, abstract, creator,form, genre, subject, language, release, target), media description(system or standard, bandwidth, visual coding), content structure(including segment relation tools such as before, after, starts,finishes, keyFor), visual descriptors (color, texture, shape, motion,face), and other parameters descriptive of the content (video, audio,graphic, or textual) contained within the Targeted Content Stream (TCS)700. Alternate metadata schemes can be used, either integral to thecontent stream or associated with it, to provide content descriptivedata in a way that is accessible for searching, recognition, andmanipulation of the video segments. Metadata can be used to carry theinformation related to splicing, truncation, and splice points, and canprovide information describing which content will be lost duringtruncation, or how splicing of segments will affect content flow. Spliceand termination points can be identified through messages containedwithin the metadata.

FIG. 8 illustrates the structure of targeted multiplexed program streamsnecessary for the splicing of various streams according to, preferably,ANSI/SCTE 35 standard for video splice points. Program segments, such asnews-1 program segment 801, news-2 program segment 811, and sports-1program segment 821, and their corresponding descriptors 800, such asnews-1 program descriptor 803, news-2 program descriptor 813, andsports-1 descriptor 823 are illustrated. Accompanying each of thesesegments and descriptors are a plurality of I-frame/splice points. TheI-frame/splice points can be I-frames, I-frames with associatedmetadata, or other combinations of metadata and specialized or modifiedvideo frames that can be used for splicing. For example news-1 programsegment 801 is illustrated with two I-frame splice points 802 and 804located on either end of the segment. Similarly, News-2 program segment811 is illustrated with two I-frame splice points 815 and 817 located oneither end of the segments, but is also illustrated with an I-frametruncation point 816 near the terminal end of the segment. I-frametruncation point 816 provides the boundary for optional news segment814, and corresponds to second news segment truncation point descriptor819, which creates optional segment descriptor 851. Segments anddescriptors, however, are not limited to having only a single truncationpoint. Sports-1 program segment 801, for example, contains multipleI-frame truncation points near its terminal end, thereby creatingmultiple optional sports segments 835 and multiple optional sportssegment descriptors 851.

Integrated segment and descriptor stream 850 is produced after thestream components have been assembled by the TCM system 610. Asillustrated in FIG. 8, the various stream components discussed abovehave been assembled into a unified program stream with descriptors.News-1, news-2, and sports-1 segments, 801, 811, 821, have beenassembled using the various I-frame/splice and truncation points 804 and816. In this example, the stream 850 contains several of the optionalprogram segments 814 and 835, along with their corresponding segmentdescriptors 851.

The I-frame/splice points and I-frame/truncation points illustrated inFIG. 8 can be utilized to assemble content by allowing the splicing ofcontent into a continuous video stream, or by the truncation of thevideo stream followed by subsequent assembly into a continuous stream.Splicing can be accomplished using a number of protocols, including butnot limited to, the SCTE 30 Digital Program Insertion SplicingApplication Protocol Interface and ANSI/SCTE 35 Digital ProgramInsertion Cueing Message for Cable standard, which provide astandardized method for, and descriptions of, the cueing of messages andcommunication between servers and splicers. In one embodiment, thestored video comes from a hard drive (e.g. hard drive 3014 in FIG. 30)acting as a server and is provided to MPEG decoder 3022 which providesthe splicing functionality, thus serving as a splicer. The splicingprotocol provides the basis for communication of the splicing request,and monitoring of the splicing process. The result of the splicingprocess is an integral video stream which does not cause decodingartifacts such as buffer under/overflows due to improper splicing andinsufficient or improperly located I frames.

FIG. 9A illustrates various components of content profile vectors andsegment profile vectors using the bra-ket notation. As illustrated, bravectors are used to illustrate various components of the subscribercontent profile vector 900, such as the category, source, and duration.Correspondingly, ket vectors are used to illustrate the variouscomponents of the segment profile vector, such as category, source, andduration. A sample correlation equation is also illustrated, consistingof the well-known inner (or dot) product of the various bra and ketvector components. Other types of correlation techniques can be utilizedincluding, but not limited to, statistical measures of similarity,weighted matching of components, and other calculations, derivations,and mathematical operations that provide a measure of the mutualrelation between the subscriber and content profiles. FIG. 9B providesexamples of contextual detail for the contents of each of the vectorcomponents, using the bra vectors as an illustrative example. Thecategory component, for example, may have a value—possibly one or moreBoolean values—indicating that news or world news is preferred by agiven subscriber, but the subscriber does not wish to view non-localnews. The exemplary source vector indicates that the subscriber prefersto receive her news from the BBC or the New York Times, but not CNN orFOX. Lastly, the duration vector provides a range of time, in this caseat least 60 seconds but not longer than 3 minutes, for which theaggregated program should run.

FIG. 10 illustrates a possible result of the correlation procedurecarried out by TCM 610 on the bra-ket vectors of FIG. 9. In oneembodiment, two separate ranked lists of video segments are created, oneprimary list and one alternate list. Ranked segment list 1000 containsan array of video segment records, with each record containing fieldsthat capture pertinent information about the preferred video segments.Such fields include the segment correlation field 1002, which providesthe raw score of the correlation equation from FIG. 9B (e.g., the dot orinner product of the bra and ket vectors). The segment source field 1004contains information regarding the author, owner, producer, or source ofthe video segment, such as the BBC, CNN, or The New York Times. Thesegment title field 1006 contains the segment's title, and the segmentduration field 1008 contains the segment's duration in time units. Inone embodiment, a ranked alternate list 1010 is also created by thecorrelation procedure. Ranked alternate list 1010 contains correspondingrecords similar to those of the primary ranked segment list 1000, suchas alternate segment correlation field 1012, alternate segment sourcefield 1014, alternate segment title field 1016, and alternate segmentduration field 1018.

Ranked alternate list 1010 is generated from items that generallycorrelate with the subscriber content profile vector 900, but that maygenerally be less correlated than those items on the ranked segment list1000. For example, items on alternate list 1010 may not come from thepreferred sources and are therefore considered “second choices” althoughthey may be of more appropriate time duration and may be substituted in,as will be subsequently discussed.

FIG. 11 is a UML use case diagram of the targeted content multiplexing(TCM) system 1100 in accordance with one embodiment of the presentmethod and system. The TCM 1100 system receives video content, via theaggregate use case 1110, from various provider systems, including, butnot limited to, advertisement supplier system 602, news supplier system604, and weather/traffic supplier system 606. Aggregate use case 1110combines this content, according to the procedures discussed above, andprovides the results to the localize use case 1120 and the target usecase 1130. Target use case 1130 also receives demographic data fromdemographic database system 614. Using the connect use case 1140 and theserve use case 1150, the TCM system 1100, interacts with a plurality ofexternal systems, including, the cable head-end system 430, the L_DASsystem 650, and one or more residential digital video recorder systems660. Connect case 1140 provides means with which these external systemsmay connect with the TCM system 1100, such means being well-known tothose of ordinary skill in the art, including, for example, theInternet, LAN, and wireless connection. Additionally, serve use case1150 provides the targeted multiplexed content created by the TCM system1100 to these external systems, also by means well known in the art.

FIG. 12 illustrates a representative geographic architecture for thedistribution of targeted multiplexed content. The representative systemcontains two separate Targeted Content Multiplexing systems: TCM1 1200and TCM2 1210. Both of the TCM systems 1200, 1210 are connected to oneor more Local Demographic Aggregation Servers and one or more cablehead-ends. TCM1 1200, for example, is connected to cable head-ends HE31270 and HE4 1280, along with Local Demographic Aggregation ServersL_DAS1 1220 and L_DAS3 1240. Similarly, TCM2 1210 is connected tohead-ends HE1 1250 and HE2 1260 and to Local Demographic AggregationServers L_DAS2 1230 and L_DAS3 1240. It should be noted that a givenLocal Demographic Aggregation Server may be connected to more than onetargeted content multiplexer systems in order to collect a greatervariety of content. L_DAS3 1240, for example, is connected to both TCM11200 and TCM2 1210. Also within the network are various contentsuppliers, such as advertisement supplier 602, which is connected toTCM1 1200; news supplier 604, which is connected to TCM2 1210; andweather supplier 606, which is connected to TCM2 1210.

In one embodiment, multiple TCMs, such as TCM1 1200 and TCM2 1210, areserved by one or more content suppliers, thus alleviating the need forone TCM to access another TCM for content. Alternatively, a TCM may beable to gather content delivered from a content provider andsimultaneously from another TCM, in order to supply a broader range ofcontent.

FIG. 13 is a use case diagram for a personalized local content system1300 in accordance with one embodiment of the present method and system.As with targeted content multiplexing system 1100, personalized localcontent system 1300 interacts with several external systems, includingadvertisement supplier 602, news supplier 604, and weather/trafficsupplier 606, in substantially the same fashion as described withrespect to the TCM system 1100. That is, each of these external systemssupplies their specified content to the personalized local contentsystem 1300 via corresponding selector use cases, specifically, selectads use case 1302, select news use case 1304, and select weather/trafficuse case 1306, respectively, in response to select signals sent from therespective selector use cases. Additionally, personalized local contentsystem 1300 interacts with external profiler 1320 via retrieve profileuse case 1308. Profiler 1320 provides demographic profiles for varioususers of the personalized local content system 1300.

Once the various contents have been supplied by the external systems,personalized local content system 1300 assembles, renders, stores anddisplays the content. Assemble use case 1310, render use case 1312,store use case 1314, and display use case 1316 address these functionsfor the personalized local content system 1300. A display use case 1316accesses the outputs of both the render use case 1312 and the store usecase 1314 to create a display that the user 1340, external topersonalized local content system 1300, can access, view, andcomprehend. Additionally, display use case 1316 can provide contentsuitable for digital video recorder system 660 or a personal computersystem 1330, also both external to personalized local content system1300, preferably located at the residence or workplace of user 1340.

FIG. 14A provides a graphical illustration of one possible customizedvideo display field 1400 suitable for display on a television set,computer monitor, or other standard display device, such as a portableMPEG player. Presented is a standard L-shaped display, in which, forexample, newscast 1410 occupies the central display region, localtraffic display 1412 occupies the bottom display region, and a localweather report 1414 occupies the side display region.

As is commonly understood, rendering technology combines video and audiowith any applied effects, such as transitions or filters, one frame at atime. Once rendered, a sequence can be played in real time. Rasterizingtechnology converts a vector image or an object-oriented image into abit-mapped image. Once rasterized, the graphics image, digital image, orbitmap is converted into a rectangular grid of pixels on a computermonitor (and also on paper or other display device).

FIG. 14B provides an alternative graphical illustration of anotherpossible customized video display field 1400. In this embodimentemploying a modified L-shaped display, a newscast 1410 similarlyoccupies the central display region, a travel weather display 1416occupies the bottom display region, and a stock listing (or ticker) 1418occupies the side region display region of the standard L-shaped displayarrangement. Additionally, motion video insert 1420 occupies the uppercorner opposite the stock listing 1418.

While L-shaped display regions are well-known in the art and highlyeffective for displaying multiple sources of information simultaneously,the present method and system permit user-defined regions for display incustomized video programming. For example, FIG. 14C provides analternative graphical illustration of another possible user-definedcustomized video display field 1400. In this embodiment, a verticalsplit-screen arrangement is presented. On the left-hand side of thescreen a locally generated animated newscast 1430 is displayed, and onthe left-hand side local content, such as a local air quality forecast1432 is displayed. Locally generated animated newscast 1430 differs fromthe traditional newscast 1410, in that animated newscast 1430 originatesfrom a text news story, such as would be found in a newspaper, magazine,or Internet article.

It should be noted that the above-referenced output formats areexemplary only, and that additional user-defined output formats are wellknown to those skilled in the art. Generally, however, in the presentmethod and system the greatest practicable flexibility is provided tothe user in creating user-defined output formats. Such flexibility canbe seen in, for example, the following general categories of outputformats: (i) one-to-one assignments for each of the at least onebroadcast signals, and for each of the at least one data streams, toeach of the distinct regions of an L-shaped video output format; (ii)one-to-one assignments for each of the at least one broadcast signalsand for each of the at least one data streams to each of the distinctdisplay windows of a standard multi-part video display with a pluralityof display windows defined by the client; (iii) information for definingthe boundaries of each of a plurality of display windows of a multi-partvideo display; (iv) a selection for an audio component chosen from oneof the at least one broadcast signals or from one of the at least onedata streams from a communications network; and (v) a ready-to-displayoutput format that is implied by the nature of the at least onebroadcast signals or the at least one data streams to be displayed, andis therefore not included in the unified transmission to the user, butinstead generated at the user site.

While customary video displays, such as the L-shaped display of FIGS.14A, 14B, and 14C may be popular, and to some degree of greaterutilitarian value, the present method and system is capable, in one ormore embodiments, of creating unusual hybrid video display formats thatare user-defined. FIGS. 14D and 14E, for example, illustrate twopossible combinations of display formats and content assignments. InFIG. 14D, the standard video display region is divided in halfvertically. The left-most vertical region is then divided in halfhorizontally again. The right-most vertical region is then divided intothree distinct regions by horizontal division. In the resulting fiveregions, different content is assigned. The lower left region, asillustrated, shows a locally generated animated news program 1430. Theupper left region shows a local air quality forecast 1432. The upperright region displays a sports program 1440, such as a professionalfootball, basketball, baseball, hockey, or soccer game. The lower rightregion displays a stock ticker 1418. The middle right region provides astandard television program 1450, such as a situation comedy, a one-hourdrama, or other content one would typically find on a broadcast or cabletelevision station.

FIG. 14E provides another illustration of the variety ways in which thestandard video display region may be divided to create a customizedvideo display field 1400. In FIG. 14E, the standard video display regionis divided into three vertical regions. The left-most and right-mostvertical regions are again divided into three horizontal regions each.The central vertical region is also divided in half horizontally, toprovide a total of eight distinct regions. The central vertical regionis provided with a local newscast 1410 in the lower region, and a localtraffic report 1412 in the upper region. The left-most vertical regiondisplays a sports program 1440, a travel weather forecast 1416, and astock display 1418 in its three regions, respectively, from top tobottom. The right-most vertical region displays a stock ticker 1418, alocal air quality forecast 1432, and a local weather forecast 1414 inits three regions, respectively, from top to bottom.

Locally generated animated newscast 1430 can be created by accessingnews content from any of the information sources discussed herein,including, but not limited to, cable television, broadcast television,or the Internet. When the news content is provided in text form only, asis often the case with print news media published on the Internet, thepresent system and method and apparatus can transform the text-onlycontent into a multimedia animated broadcast. Voice synthesizingtechnology, as is well understood by those of ordinary skill in the art,is used to convert the text-only content into an audio stream, such thata computer synthesized human voice is heard to be reading the text-onlycontent. Additionally, in one embodiment, computer avatar technology,such as that produced by Televirtual Ltd., is used to provide a virtual,animated human or humanoid figure to accompany the voice synthesizedaudio content. In this fashion, text-only content retrieved fromwhatever source can be converted into a programming stream with bothaudio and video components.

FIGS. 15A-15E provide illustrated details of one possible embodiment ofa GUI for receiving user-defined parameters to customize a videodisplay, via the personalized content manager 1700. As illustrated,personal content manager 1700 can be a familiar Windows-based optionsscreen with several tabs to keep distinct categories of displayparameters organized. The illustrated embodiment provides a general tab1710, a news tab 1730, a weather tab 1750, a traffic tab 1770, and asports tab 1790. Other tabs (not shown), relating to specific categoriesof viewing content, are also possible, including but not limited to abusiness tab, a sit-coms tab, a drama tab, a lifestyles show tab, and adocumentary tab, etc.

Within the general tab 1710, several parameter options may be provided.For example, the illustrated embodiment provides a desired programlength drop-box 1712, such that program lengths may be specified inprescribed increments over a given continuum of durations. Optionally, amaximum program length option 1714 is provided, through which the usermay provide an absolute limit on the desired program's duration. Aprepare-by option 1716 is also preferably provided, which accepts adeadline for preparation of the program from the user. Additionally,several categories of programming content are accepted as input, viauser-accessible input fields, (e.g., drop-boxes, pull-down menus, etc.)corresponding to first category 1718, second category 1720, thirdcategory 1722, fourth category 1724, and fifth category 1726. Additionalcategories of programming content may be added in other embodiments. Forexample in FIG. 15A, each of the prioritized category fields, 1718,1720, 1722, 1724, 1726, 1728 allows the user to select from a predefinedcontent category (e.g., news, weather, traffic, sports, and movies) and,optionally, a time duration. From these prioritized categories,personalized local content system 1300 selects the specified content andassembles a customized program stream according to the parametersreceived from user 1340. In one embodiment, the parameters received fromthe user 1340 can be selected via a pull-down menu of pre-definedchoices.

FIG. 15B illustrates details of the news tab 1730. News tab 1730 permitsuser 1340 to designate one or more categories of news to be included inthe customized programming stream, and within each category, news tab1730 permits user 1340 to designate a specified source for news (e.g., aspecific network, magazine, newspaper, or website) within each categoryselected. Combinations of news sources may also be selected. Newscategories can be taken from user-accessible input fields, includinginternational news option 1732, national news option 1734, local newsoption 1736, business news option 1738, sports news option 1740, andentertainment news option 1742. Other categories of news are alsocontemplated by the present method and system, and can be extended inaccordance with knowledge generally available to one of ordinary skillin the art. Additionally, a user-accessible input field may be provided.For example, stock ticker option 1744 may be utilized to receive stocksymbols for incorporation into various stock data displays, includingstock display 1418 from FIG. 14B.

FIG. 15C provides illustrated details of weather tab 1750.User-accessible input fields are provided to select both a location(i.e., zip code field 1752) and specific weather content, such asnational weather field 1754, air quality field 1756, local weather field1758, and severe weather field 1760. Display parameters for localweather option 1758 are also provided in the form of local weatherformat field 1762, in which a variety of display options are provided ina pull-down menu. A further option is illustrated in which travelinformation may be imported from a user's calendar software for thecreation of a travel weather display, such as travel weather forecast1416, via the user-accessible import-travel-from-calendar option 1764.Means are also provided in which the user 1340 may specify the locationof his or her calendar files, via calendar location field 1766.

The present system and method has the capability of accessing a user'sscheduling software, whether stored on a personal computer, hand-helddevice, server, public or private network, or the Internet. Once thescheduling software is accessed, the system and method can identify theuser's travel itinerary—regardless of mode of transportation (e.g., airtravel, train, car, bus, etc.)—and then access programming contentpertinent to the locations revealed by the itinerary. “Locations” asused herein, and in the claims, refers to destinations, returnlocations, layovers, rest stops, or other places in which the user'stravel may take them. Another embodiment of the present system andmethod localizes, specifically, news, weather, and traffic dataaccording to the scheduling software. Scheduling software may includethe commercially available program offered by the Microsoft Corporationunder the trademark Outlook, or it may include other software packagesby different manufacturers that accomplish the same basic tasks oftracking a user's personal data, including travel data.

FIG. 15D illustrates details of traffic tab 1770. A user-accessibleinput field, starting address field 1772, is provided into which user1340 may enter a starting address for traffic information related to oneor more commuting routes. Destination addresses for one or morecommuting routes may be input via commute 1 address field 1774 andcommute 2 address field 1776. In other embodiments, additional addressesmay be provided to the system to serve as either starting locations ordestinations. Click-boxes (display option for commute 1 address 1778 anddisplay option for commute 2 address 1780) are also provided for user1340 to toggle-enable the display of traffic information for each of thedestination addresses specified. Other embodiments can make use ofwidely known traffic routing software to suggest alternate routesdepending upon the current traffic conditions.

FIG. 15E illustrates details of sports tab 1790. Sports tab 1790provides options for user 1340 to specify the categories of sports newsin a prioritized list, via first sports news category 1791, secondsports news category 1792, third sports news category 1793, fourthsports news category 1794, and fifth sports news category 1795. In oneembodiment, illustrated, within each category, drop-down boxes areprovided from which user 1340 may select pre-defined sports categoriesfrom which news stories will be selected.

FIG. 16 illustrates details for the personalized layout manager 1800 ofthe GUI. Personalized layout manager 1800 provides the ability forpersonalized local content system 1300 to obtain parameters from user1340 regarding how to create separate display fields on a television ormonitor screen and how to assign specific content to each display field.The embodiment of FIG. 16, includes a linearize-all-content option 1810,in which user 1340 may specify that all content be displayed in afull-screen format in a linear time sequence, as is the case with mostordinary television programming. If linearize-all-content option 1810 isnot selected, main video panel display content options text-box 1820 andside/bottom bar display content options text-box 1830, are enabled foruser input. The text boxes 1820, 1830 permit the user 1340 to assignspecific content to the various display panels as indicated.Main-side-bottom display option-control buttons 1860 are also providedto manage the content of the text boxes. An animate-local-content optionbox 1840, is provided so that the user 1340 may specify whether he orshe desires to have local content animated into a display, such as forlocally generated animated newscast 1430, using an avatar. Ifanimate-local-content option 1840 is selected, avatar selection field1850 is enabled so that user 1340 may select an avatar in accordancewith his or her preference, including searching the Internet foradditional avatar personalities. It should be noted that theabove-referenced user-defined parameters are exemplary only, and thatother such parameters generally known to those skilled in the art may beutilized.

FIG. 17 provides a class diagram for the data classes associated withthe aggregate use case 1110 of the targeted content multiplexing system1100 (see FIG. 11) and the assemble select ads use case 1302, selectnews use case 1304, select weather/traffic use case 1306, retrieveprofile use case 1308, and assemble use case 1310 of the personalizedlocal content system 1300 (see FIG. 13). Segment metaclass 2300 is themetaclass associated with each of the information segments provided bythe external systems, such as advertisement supplier 602, news supplier604, and weather/traffic supplier 606 associated with the targetedcontent multiplexing system 1100. Segment metaclass 2300 retainspertinent general information regarding each of the segments which entersystems 1100 or 1300, such as name, category, date and time, duration,geography, expiration, segment type. Segment metaclass 2300 can containfour distinct data classes: advertisement segment class 2310, newssegment class 2330, weather segment class 2350, and traffic segmentclass 2370. Each of these classes corresponds to the segments receivedfrom the above-referenced supplier systems. Advertisement segment class2310 preferably includes data fields useful for the management ofadvertisement segments, such as advertisement name, sponsor, productcategory, duration, geography, expiration, weather triggers, and segmenttype. Similarly, news segment class 2330 preferably includes data fieldsuseful for the management of news segments, such as news name, newscategory, source, duration, geography, expiration, and segment type.Weather segment class 2350 preferably includes data fields useful forthe management of weather segments, such as weather name, date and time,geography, duration, and expiration. Traffic segment class 2370preferably includes data fields useful for the management of trafficsegments, such as traffic name, date and time, location, alternateroutes, duration, and segment type. Additionally, segment metaclass2300, advertisement segment class 2310, news segment class 2330, weathersegment class 2350, and traffic segment class 2370 all preferablyinclude various MPEG video descriptors (such as splice, render, orsuperimpose) used in the aggregation of the programming stream bysystems 1100 and 1300.

FIG. 18 provides a class diagram for the data fields associated with theretrieve profile use case 1308 and assemble use case 1310 of thepersonalized local content system 1300 (see FIG. 13). Profile metaclass2400 is the data metaclass associated with various user profiles asprovided by external systems, such as profiler system 1320, associatedwith the personalized local content system 1300. Profile metaclass 2400contains data fields to identify the user and describe the profile type.Profile metaclass 2400, moreover, preferably includes five distinct dataclasses: interest profile class 2410, purchase profile class 2430,travel profile class 2450, content profile class 2470, and layoutprofile class 2490. Interest profile class 2410 preferably includes datafields used to manage a given user's interest profile, such as theuser's identification, news interest, sports interests, preferredduration, maximum duration, and total news duration. Purchase profileclass 2430 preferably includes data fields used to manage a purchaseprofile, such as the user's identification, market segment,demographics, brand preferences, and purchase interests. Travel profileclass 2450 preferably includes data fields used to manage travelprofiles, the user's identification, scheduled trips, locations, displaypreferences, commute routs, and itineraries. Content profile class 2470preferably includes data fields used to manage content profiles, such asthe user's identification, desired program length, maximum programlength, prepared-by time (i.e., the deadline by which the customizedprogram needs to be ready for transmission, viewing, or storage),programming categories, news parameters, stocks parameters, weatherparameters, traffic parameters, and sports parameters. Layout profileclass 2490 preferably includes data files used to manage layoutprofiles, such as the user's identification, linearize-all-contentoptions, main video display area content assignments, side and bottomdisplay area content assignments, and animation options. Additionally,profile metaclass 2400, interest profile class 2410, purchase profileclass 2430, travel profile class 2450, content profile class 2470, andlayout profile class 2490 preferably includes data fields used byassemble use case 1310 of the personalized local content system 1300 forthe aggregation of profile-specific information and segments into theaggregated programming stream.

It should be noted that the data fields within interest profile class2410, purchase profile class 2430, travel profile class 2450, contentprofile class 2470, and layout profile class 2490 each closely track theuser-accessible input parameters from the GUI components personalizedcontent manager 1700 and personalized layout manager 1800 illustrated inFIGS. 17A through 17E and FIG. 18, and in particular those parameterscollected from general tab 1710, news tab 1730, weather tab 1750,traffic tab 1770, sports tab 1790, and the personalized layout manager1800.

FIG. 19 shows a class diagram for the data fields associated withcustomized user programs as provided by the present method and system.User program class 2500 contains data fields used to manage a customizeduser program, such as the user's identification, date, duration, size,and a save-until date. Additional data fields are provided for controlof various operations of the personalized local content system 1300(e.g., display, save, and delete).

FIG. 20 provides a class association diagram for carrying out thecorrelation of various user profiles with various programming segments.Profile metaclass 2400 is correlated with segment metaclass 2300, using,for example, the common inner (or dot) product discussed in connectionwith FIGS. 8 and 9, or another selection or correlation technique. Theresults of the correlation procedure are stored in a selection dataclass 2600 containing data fields for the selection results, the user'sidentification, the date, and the select procedures used by personalizedlocal content system 1300.

FIG. 21 provides a class diagram for the data fields associated withmanaging viewing template parameters, such as those used by the renderuse case 1312 of the personalized local content system 1300 (see FIG.13). Template metaclass 2700 is the data metaclass used to manageviewing templates and preferably includes data fields used to managesuch templates, such as the template name and the template type.Template metaclass 2700 preferably includes three distinct data classes:weather template class 2710, traffic template class 2730, and sportstemplate class 2750. Weather template class 2710 preferably includesdata fields used to manage weather viewing templates, such as maps,icons, animation, display area, display size, and background. Traffictemplate class 2730 preferably includes data fields used to managetraffic viewing templates, such as maps, icons, animation, routemarking, display area, display size, and background. Sports template2750 preferably includes data fields used to manage sports viewingtemplates, such as display area, display size, crawl rate, and texttype. Template metaclass 2700, weather template class 2710, traffictemplate class 2730, and sports template class 2750 preferably includeadditional data fields used to control various processes withinpersonalized local content system 1300 (e.g., apply and modify) ascarried out, for example, by assemble use case 1310, render use case1312, and display use case 1316.

FIG. 22 provides a class diagram for the data fields associated withmanaging various data streams used by the present method and system forvarious display purposes. Data metaclass 2800 is the metaclass used tomanage the various display data and preferably includes data fields usedto manage such display data, such as data type, date and time,geography, and expiration. Data metaclass 2800 may preferably includethree distinct data classes: weather data class 2810, traffic data class2830 and sports data class 2850. Weather data class 2810 preferablyincludes data fields used to manage weather data, such as date and time,geography, severity, and tracking. Traffic data class 2830 preferablyincludes data fields used to manage traffic data, such as date and time,location, and alternate routes. Sports data class 2850 preferablyincludes data fields used to manage sports data, such as date and time,sport type, geography, and school or team identification. Data metaclass2800, weather data class 2810, traffic data class 2830 and sports dataclass 2850 preferably include additional data fields used to triggervarious operations from within personalized local content system 1300(e.g., extract) as carried out by, for example, select news (for sportsnews) use case 1304 and select traffic/weather use case 1306.

FIG. 23 provides a class association diagram for carrying out thecorrelation of various viewing templates with various data classes.Template metaclass 2700 is correlated with data metaclass 2800, using,for example, the common inner (or dot) product discussed in connectionwith FIGS. 8 and 9. The results of the correlation procedure are storedin association class 2900 containing data fields for the correlationresults, e.g., the user program, the date, the segment name, and anapply procedure used by personalized local content system 1300.

FIG. 24 provides an example circuit schematic for a set-top box that canbe used to realize the methods and systems described herein. Set-top box3000 preferably includes an IR interface 3010 and a display 3012, bothof which are connected to I/O controller hub 3016. IR interface 3010 maybe used to receive infra-red signals from a remote control device in theuser's control, as is generally known in the art. Display 3012 providesvarious display functions on the state of the set-top box, such aswhether the unit is in play mode, record mode, or any of a variety ofother status messages. Optionally, display 3012 may also provide varioususer-accessible buttons or other input means to control the unit, someof which may be duplicated from the signals accessible by IR interface3010. I/O controller hub 3016 is connected to a microprocessor 3024 andone or more memory units, such as flash memory unit 3020 and hard drive3014. Flash memory unit 3020 provides a temporary high-access-ratelocation to store various control signals used by I/O controller hub3016, and optionally microprocessor 3024, to operate the set-top box3000. Hard drive 3014 provides a high-capacity, but slower speed, memorystorage depot for the storage of programming streams created by thepresent method and system. Microprocessor 3024 is a standard CPU device,such as a standard programmed ROM microcontroller, that controls thevarious signals and processes that operate the set-top box 3000.

In one embodiment, the I/O controller hub 3016 is also connected to twoserial bus ports SB-1 3042 and SB-2 3040 and an Ethernet interface 3030,with Ethernet interface 3030, in turn, being connected to an Ethernetport 3034, thereby providing set-top box 3000 Ethernet connectivity.

Also attached to I/O controller hub 3016 is an I/O bus 3038, whichaccesses the various video processing units, including MPEG decoder 3022and graphics controller/overlay processing unit 3025. Along with MPEGencoder 3026, MPEG decoder 3022 and graphics controller/overlayprocessing unit 3025 provide the video processing capabilities for theset-top box 3000. Graphics controller/overlay processing unit 3025 ispreferably connected to an RF modulator 3027, which interfaces with RFout signal 3028. Additionally, graphics controller/overlay processingunit 3025 produces a video out signal 3018, which, optionally, containsS-video composite components DVI.

The functions required to select, assemble, render, store, and displaythe customized video programming as illustrated by the use cases in FIG.25 can be accomplished in one or more of the functional blocks shown inFIG. 24. For example, microprocessor 3024 can be utilized to select andassemble segments to create subprograms and programs. MPEG decoder 3026can perform, either alone or in conjunction with microprocessor 3024,appropriate segment shortening as will be discussed with respect to FIG.31. Similarly, metadata or descriptors associated with video segments,as illustrated in FIG. 7, can be read by microprocessor 3024, MPEGdecoder 3026, or the combination thereof.

Graphics controller/overlay processing unit 3025, either alone or inconjunction with microprocessor 3024, can render overlay graphics,superimpose text, or perform other operations necessary to create thetypes of programming shown in FIGS. 14A-14E.

It should be noted, however, that set-top box 3000 need not be astand-alone unit, and that the functionality of set-top box 3000 may beincorporated into other electronic devices, such as personal computers,televisions, and other audio-video equipment as would be understood bythose skilled in the art.

FIG. 25 depicts another embodiment of the present method and system thatrelies upon two distinct distribution channels for streaming of mediacontent. Media content can arrive at residence 640 by either passingthrough a public or private network 503 or by satellite transmission,comprising satellite uplink 401, satellite 420, and satellite receiver431. Set-top box 3000 combines the various sources of media content andrenders it for display on television 662, in accordance with the methodand system described herein. As previously described, and as shown inFIG. 25, the network 503 may be connected to various content suppliers,including advertisement supplier(s) 120, news supplier 122, andweather/traffic supplier 124. In a preferred embodiment, a networktermination unit 680, as generally known to those of ordinary skill inthe art, is located at the residence 640. A residential gateway, actingas a centralized location in the residence for receiving signals,including, in some embodiments, broadcast and network signals, canprocess and assemble video and graphics for multiple televisions ordisplays within the residence 640. Combining media content from anetwork with a satellite transmission is particularly useful forgenerating localized content for such content categories as traffic andweather. In a preferred embodiment, regional weather information iscollected from legacy satellite and satellite uplink, 401, 420, (i.e.,legacy weather distribution systems), and combined with local weatherinformation, or information from another category such as traffic,collected from the public or private network 503. Optionally, newsprograms can be enriched with localized content in this fashion, as canstock or business information. The public or private network 503 may be,in alternative embodiments of the present invention, the Internet, aprivate network, an intranet, or a special-purpose data network such asthe NYSE real-time stock ticker, NOAA weather data service, Bloombergtelevision news, or a host of other such specialty networks.

FIG. 26 provides an activity diagram for the process of multiplexedsignal generation 3200. Process 3200 includes receiving a client signalat step 3210. Step 3220 involves accessing and selecting the broadcastsignals specified in the client signal of step 3210. Data signals areaccessed and selected in step 3230, similarly, in accordance with theclient signal of step 3210. Display parameters are retrieved in step3240, and the broadcast signals retrieved in step 3220 and the datasignals retrieved in step 3230 are multiplexed in step 3250 inaccordance with the display parameters retrieved in step 3240. Finally,the multiplexed signal from step 3250 is transmitted to the client instep 3260.

FIG. 27 provides an activity diagram for the process of media signalselection in accordance with a client profile 3300 to accomplishtargeted content multiplexing as illustrated in FIGS. 11 and 12. Process3300 includes step 3310 in which the client data fields are parsed. If aclient profile is available, one is retrieved at step 3330. Otherwise,the process continues at step 3340, wherein the requested broadcastsignals are determined. If no profile is available, the broadcast-signalrequests are received directly from the client. Proceeding to steps 3350and 3360, geographic location and data signals are determined,respectively, either from the profile retrieved at step 3330, fromdirect client input, or through other similar means well known in theart. Proceeding to steps 3370 and 3380, connection is made with theselected data signals and the selected broadcast signals, respectively,and again in accordance with the client profile retrieved in step 3330or otherwise.

As is known to those skilled in the art, user profiles, also known asconsumer or subscriber profiles, contain information regarding the user(including the viewer or consumer), collected from a variety of sources,which allows the user to be better understood and allows for the systemto provide information (programming, advertising, product suggestions,or other information or recommendations) which is likely to be ofinterest to the user. For instance, as to source, data can beself-represented by the user, as is the case when the consumer fills outsurveys, product warranty cards, graphical user interfaces as part ofproduct set-up and installation, on-line ordering forms, and otherwisedivulges information about him- or herself voluntarily. The userprofile, as used herein, also contains the user's preferences regardingthe collection, assembly, rendering, and display of personalizedcontent.

Information about the user can also be learned based on interactionswith the user including purchases, viewing habits, online habits, orother interactions in which the user makes selections or providesfeedback. For example, the user's video selections and theirinteractions with those video selections (fast-forwarding, deleting)provide an indication as to their preferences, interests, and dislikes.Similarly, the user's purchases (whether online or in a “brick andmortar” store) provide an indication as to their preferences. In oneembodiment, heuristic rules, which link the interactions withdemographic or behavioral characteristics, can be used to infercharacteristics of the user such as gender, age, income level, educationlevel, and occupation, or their possible inclusion in market segmentssuch as empty nesters, double-income-no-kids (DINKs), Gen-Xers or othergroups. Similarly, purchase and viewing information can be used toidentify users as consumers or potential consumers of specialty fooditems, alcoholic beverages, convenience meals, or other categories ofitems. In addition, their purchasing or viewing habits may be used topredict a need for items at a future date, based on previous purchasepatterns. In summary, the user profile can be obtained through bothself-reported data, analysis of transaction data including purchasingand viewing habits, and by inference from the transaction data.

Once the user profile has been established, it can be used not only todirect the most appropriate programming to the user in the preferredformat, but to assist marketers in targeting advertising to groups ofusers (including market and demographic segments) for which it is mostappropriate. In one embodiment of the present method and system, forexample, user profiles are accessed from other various systems for thepurpose of assisting in the selection not only of tailored advertisingbut also for the selection of appropriate programming content. Inanother embodiment, the user specifies their programming, product, andlifestyle interests through Personalized Content Manager 1700, andcontent, both programming and advertising, is selected in responsethereto. In another embodiment, user interaction, as described above,with the present system and method, such as deleted advertisements,channel and volume changes, and routine modifications to the userprofile are used for finely honing the selection of content. A user whoroutinely skips through programming on soccer will be inherentlyteaching the system and method not to present additional content onsoccer, and a similar learning process takes place regarding theselection of advertising.

As will be understood by one skilled in the art, the user profile can beassembled from a variety of sources, can be distributed in nature (withdifferent portions residing at different parts of the network) and canbe adequately protected to keep some or all of the user informationprivate.

FIG. 28 provides an activity diagram for the process of localizing asatellite broadcast with network data 3400. Process 3400 includesreceiving satellite broadcast signals at step 3410. A test at step 3420determines whether the local data contained in the satellite broadcastsignals is current. This determination can be accomplished, for example,by accessing a time stamp in any of a number of typical data or metadatafields contained in the satellite broadcast signals. If the local datais not current, a cache of pertinent local data is accessed via acommunications network at step 3430. In either case, step 3440 retrievesthe current local data (either from the satellite broadcast signal orfrom the network). A consumer template is retrieved at step 3450. Asillustrated in FIG. 21, templates contain information related to how theuser prefers to have his or her data displayed. The local data isrendered into display format at step 3460. Such rendering may occur in avariety of formats and with a variety of options as described elsewhereherein, particularly in reference to the discussion of FIGS. 3A and14A-14E. These formats include the use of a multi-window display scheme,the use of scrolling text bars at the bottom or on the sides of thedisplay screen, and the use of an avatar and voice simulation to animatetext data. The local data is combined or multiplexed with the satellitebroadcast data to create a combined broadcast and local display at step3470.

FIG. 29 provides an activity diagram for the creation of a rankedsegment list according to process 3500. The creation of a ranked segmentlist includes step 3510 wherein a subscriber content profile vector iscorrelated with a plurality of segment profile vectors. The correlationfunction of step 3510 was previously described herein with reference toFIG. 9. The segments are ranked in step 3520 based upon the degree ofcorrelation between the segment profile vectors and the subscribercontent profile vector. This ranking can be accomplished, for example,by sorting the inner, or dot, product results in descending order foreach segment, with the highest product results corresponding to the bestcorrelated segments. Other ranking algorithms, such as binary ranking,linear ranking, high-probability ordering, key ordering, and hashtables, as generally understood by those of ordinary skill in the art,may be used. At step 3530 a search is conducted to locate and removeduplicate segments from the ranked lists. A variety of procedures can beused to perform this searching function, including the statisticalanalysis of key words, data field identification, and artificialintelligence algorithms.

Recommendation engines can be incorporated into the present method andsystem and provide an additional means for the selection of videocontent to incorporate into the personalized video programming. As willbe understood by one skilled in the art, a variety of recommendationengines can be utilized, including, but not limited to, non-personalizedrecommendation engines which base recommendations on the number ofrecommendations from other users for items in that space, item-to-itemrecommendation engines which develop recommendations based onrelationships between items already consumed or in which the user hasshown interest and new items having similar attributes, attribute basedrecommendation engines which develop recommendations based on attributesor available items or user attributes, content-based recommendationengines which develop recommendations based on features or attributes oftimes used in combination with rating/feedback of attributes obtainedfrom the consumer, and collaborative filtering recommendation engineswhich develop recommendations based on items that similar users haverated highly, or for which high number of similar users have consumed.As such, the present method and system can incorporate the output of aninternal or external recommendation engine to supplement or replace theuser profile, thus allowing personalized local content system 1300 theability to recommend content and incorporate some or all of that contentinto the personalized video programming.

Once the duplicate segments are removed, the list of segments can beordered into a ranked sequence in step 3540. An alternate ranked listcan also be created in step 3550, in which additional desirable segmentsare identified but which have lower correlation scores than the segmentson the primary ranked list from step 3540.

FIG. 30 provides an activity diagram for the process 3600 of programassembly in accordance with consumer priorities. Process 3600 includesstep 3605 in which consumer priorities are retrieved. A search forrelevant video segments is then conducted in step 3610. Once relevantvideo segments are located, they are retrieved and stored in step 3615.A content category is selected in step 3620 from among the consumerpriorities retrieved in step 3605. Segments are ranked in step 3625using the creation of a ranked segment list according to process 3500described with respect to FIG. 29. A category subprogram correspondingto the particular category under consideration from the consumerpriorities is assembled in step 3630. A test is conducted at step 3635to determine if the given category subprogram fits within a describedtime constraint. The time constraint can be either implied from theapplication or user-specified from the consumer priorities retrieved instep 3605. If the category subprogram does not fit within the timeconstraint, a segment-shortening algorithm, such as that described withrespect to FIG. 31, is applied to the subprogram, and flow continues atstep 3625, such that the remaining segments are re-ranked according to acorrelation function. Once the category subprogram fits within the timeconstraint, flow continues to step 3645 to access local data related tothe category under consideration. Such local data may be found, in oneembodiment of the method and system, on a communications network, suchas the Internet or a private intranet. A consumer display template isretrieved at step 3650, and the local data is rendered according to thistemplate at step 3655. After a final subprogram for the given categoryis assembled at step 3660, a test is made at step 3665 to determine ifadditional categories remain unprocessed from the consumer prioritiesretrieved at step 3605. If so, the next category is selected byincrementing the necessary category variable at step 3670 and directingflow back to step 3620 to determine the next category. Once allcategories have been processed, the final program is assembled at step3675 by combining all category subprograms into a final format accordingto the consumer priorities and display parameters retrieved at steps3605 and 3650, respectively.

FIG. 31 provides an activities diagram for the process 3700 of fitting aset of video segments into a time-constrained subprogram. Process 3700includes step 3710, wherein a given video segment is located within agiven subprogram, in accordance with an index variable n, representingthe nth segment in the subprogram. Step 3720 proceeds by testing whethera shorter alternate segment is available as a replacement for segment n.If a shorter alternate segment is available, segment n is then replacedwith the shorter alternative in step 3760. If a shorter alternatesegment is not available, a test is made to determine if a process ofsegment truncation is possible for segment n. Segment truncation can beaccomplished, for example, in accordance with any of the processesdiscussed with respect to FIG. 8, wherein various MPEG splice points canbe manipulated and utilized. If segment truncation is possible, theappropriate truncation process is carried out at step 3770. If notruncation is possible, flow continues to step 3740, wherein a finaltest is made to determine if time compression is available to shortenthe length of segment n. Time compression can take the form of anyseveral procedures generally known to those of ordinary skill in theart. If time compression is possible, the appropriate time-compressionprocedure is carried out at step 3780. If not, flow continues to step3750, wherein the index variable n is incremented to point to the nextvideo segment in the input subprogram, and flow is directed back to step3710, wherein the nth video segment is located, and subsequently testedas described above in steps 3720, 3730, and 3740. It should be notedthat after each of steps 3760 (replace segment with shorteralternative), 3770 (truncate segment), and 3780 (compress segment), atest is made to determine whether the subprogram conforms to the giventime constraint. If it does, process 3700 terminates. If not, flow thenproceeds to step 3750 wherein the index variable n is incremented andflow directed back to the beginning of process 3700 at step 3705. Inthis manner, testing and modification of segments continues until thesubprogram fits within the time constraint.

It should be noted, however, that video time compression is but onevideo editing process whereby the total presentation time of a group ofvideo segments can be shortened, and that other such processes are wellknown to those of ordinary skill in the video editing arts. At aminimum, and without limitation, those other processes include selectinganother video segment (as described above), splice-point truncationtechniques, non-linear time compression techniques, and idle-framedeletion techniques.

The embodiments of the present invention may be implemented with anycombination of hardware and software. If implemented as acomputer-implemented apparatus, the present invention is implementedusing means for performing all of the steps and functions describedabove.

The embodiments of the present invention can be included in an articleof manufacture (e.g., one or more computer program products) having, forinstance, computer useable media. The media has embodied therein, forinstance, computer readable program code means for providing andfacilitating the mechanisms of the present invention. The article ofmanufacture can be included as part of a computer system or soldseparately.

While specific embodiments have been described in detail in theforegoing detailed description and illustrated in the accompanyingdrawings, it will be appreciated by those skilled in the art thatvarious modifications and alternatives to those details could bedeveloped in light of the overall teachings of the disclosure and thebroad inventive concepts thereof. It is understood, therefore, that thescope of the present invention is not limited to the particular examplesand implementations disclosed herein, but is intended to covermodifications within the spirit and scope thereof as defined by theappended claims and any and all equivalents thereof.

We claim:
 1. A computer-implemented method of creating customizedprogramming content for a user of a media content system, the methodcomprising: accessing scheduling information of the user comprising userlocation information associated with a date; accessing a user interestprofile for the user, the user interest profile comprising a ranked listof a plurality of interest categories; locating at least one mediasegment corresponding to each of the interest categories of the userinterest profile; selecting a media segment of the at least one mediasegment within each of the interest categories in the respectiveinterest category; assembling the selected media segments into acustomized media programming stream based on the ranked list of theplurality of interest categories and the scheduling information of theuser; and displaying the customized media programming stream to theuser.
 2. The method of claim 1, further comprising: analyzinginteractions of the user with the media content system during thedisplay of the customized media programming stream; and updating theuser interest profile based on the analyzing.
 3. The method of claim 1,wherein the media segment is retrieved via the Internet.
 4. The methodof claim 1, wherein the media segment is a video segment.
 5. The methodof claim 1, further comprising: determining the current geographiclocation of the user, wherein the media segment include at least onegeographically relevant media segment relevant to the current geographiclocation and wherein the customized programming stream includes the atleast one geographically relevant media segment.
 6. The method of claim1, wherein the media segment is retrieved via at least one of theInternet or a digital video recorder (DVR).
 7. The method of claim 1,wherein the plurality of interest categories includes a local newsbroadcast.
 8. The method of claim 1, wherein the plurality of interestcategories includes a sports program.
 9. The method of claim 1, whereinthe plurality of interest categories includes stock data.
 10. The methodof claim 1, wherein the plurality of interest categories includes asituation comedy.
 11. The method of claim 1, wherein the selected mediasegment is assembled into the customized media programming stream basedon the ranked list of the plurality of interest categories, a secondranked list of the plurality of interest categories, and the schedulinginformation of the user.
 12. The method of claim 1, wherein the date isa future date.
 13. A customized programming content creation systemcomprising: a media content search engine configured to locate andretrieve media segments from a plurality of media content sources; ahardware storage device configured to store retrieved media segments; astorage component to store at least one user interest profile, each userinterest profile comprising a ranked list of a plurality of interestcategories; a remote user input interface; a processor configured to:access scheduling information of the user comprising user locationinformation associated with a date; access a user interest profile fromthe storage component; direct the media content search engine to locateat least one media segment corresponding to each of the interestcategories of the user interest profile; select a media segment of theat least one media segments within each of the interest categories inthe respective interest category; and assemble the selected mediasegments into a customized media programming stream based on the rankedlist of the plurality of interest categories and the schedulinginformation of the user; and a display processor for displaying thecustomized media programming stream to the user.
 14. The system of claim13, the processor further configured to analyze previous userinteraction with the content creation system to determine the pluralityof interest categories.
 15. The system of claim 13, wherein the mediasegment is retrieved via the Internet.
 16. The system of claim 13,wherein the media segment is retrieved from a digital video recorder(DVR).
 17. The system of claim 13, wherein the media segment isretrieved via at least one of the Internet or a digital video recorder(DVR).
 18. A non-transitory computer program product, comprising anon-transitory computer usable medium having a computer readable programcode embodied therein, said computer readable program code adapted to beexecuted to implement a method of creating customized programmingcontent for a user of a media content system, the method comprising:accessing scheduling information of the user comprising user locationinformation associated with a date; accessing a user interest profilefor the user, the user interest profile comprising a ranked list of aplurality of interest categories; locating at least one media segmentcorresponding to each of the interest categories of the user interestprofile; selecting a media segment of the at least one media segmentswithin each of the interest categories in the respective interestcategory; assembling the selected media segments into a customized mediaprogramming stream based on the ranked list of the plurality of interestcategories and the scheduling information of the user; and displayingthe customized media programming stream to the user.
 19. The method ofclaim 18, wherein the selected media segment is assembled into thecustomized media programming stream based on the ranked list of theplurality of interest categories, a second ranked list of the pluralityof interest categories, and the scheduling information of the user. 20.The method of claim 18, wherein the date is a future date.